package cn.sccl.common.scaffold;

import java.io.File;

/**
 * Created by 杨浩宇 on 2016-02-22.
 */
public class FileConfig {

    /**
     * 文件的基本包
     * basePackage = orgBasePackage + "." + modelBasePackage
     */
    private String basePackage;
    /**
     * 文件基本包路径
     */
    private String basePackagePath;
    /**
     * 数据库表信息
     */
    private TableInfo tableInfo;
    /**
     * 项目的的基础包
     * 如，cn.sccl.dirms
     */
    private String orgBasePackage;
    /**
     * 项目基础包的路径，即包中的"."替换成了"/"
     * 如，cn/sccl/dirms
     */
    private String orgBasePackagePath;
    /**
     * 模型的基础包
     * 如，security.um
     */
    private String modelBasePackage;
    /**
     * 模型基础包的路径，即包中的"."替换成了"/"
     * 如，security/um
     */
    private String modelBasePackagePath;
    /**
     * 模型名称
     * 如，User
     */
    private String modelName;
    /**
     * 生成的目标文件
     */
    private File targetFile;

    public FileConfig(String orgBasePackage, String modelBasePackage) {
        this.orgBasePackage = orgBasePackage;
        this.orgBasePackagePath = orgBasePackage.replaceAll("\\.", "/");

        this.modelBasePackage = modelBasePackage;
        this.modelBasePackagePath = modelBasePackage.replaceAll("\\.", "/");

        this.basePackage = orgBasePackage + "." + modelBasePackage;
        this.basePackagePath = basePackage.replaceAll("\\.", "/");

    }

    public TableInfo getTableInfo() {
        return tableInfo;
    }

    public void setTableInfo(TableInfo tableInfo) {
        this.tableInfo = tableInfo;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public File getTargetFile() {
        return targetFile;
    }

    public void setTargetFile(File targetFile) {
        this.targetFile = targetFile;
    }

    public String getBasePackage() {
        return basePackage;
    }

    public String getBasePackagePath() {
        return basePackagePath;
    }

    public String getOrgBasePackage() {
        return orgBasePackage;
    }

    public String getOrgBasePackagePath() {
        return orgBasePackagePath;
    }

    public String getModelBasePackage() {
        return modelBasePackage;
    }

    public String getModelBasePackagePath() {
        return modelBasePackagePath;
    }
}
